//
// Created by twetec on 25-7-3.
//

#ifndef NETWORK_PROBER_RPC_PERCEPTION_RPC_CALLER_H
#define NETWORK_PROBER_RPC_PERCEPTION_RPC_CALLER_H

namespace network_prober::rpc
{
enum RespCode
{
    SUCCESS = 20000,
};

template <class Derived>
class PerceptionRPCCaller
{
public:
    /**
     * 调用
     */
    void call()
    {
        static_cast<Derived*>(this)->callImpl();
    }

    /**
     * 析构函数
     */
    virtual ~PerceptionRPCCaller() = default;

protected:
    /**
     * 将构造函数隐藏，避免 new PerceptionRPCCaller
     */
    PerceptionRPCCaller() = default;

};
}

#endif //NETWORK_PROBER_RPC_PERCEPTION_RPC_CALLER_H
